#include<iostream>
template<typename T>
std::ostream& operator<<(std::ostream&os,const DoubleLinkList<T>&list)
{
    typename DoubleLinkList<T>::Node* tp=list.head->next;
    while(tp->next!=nullptr)
    {
        std::cout<<tp->value<<" ";
        tp=tp->next;
    }
    return os;
}